Generally, the concept of virtualization in information processing systems allows multiple instances of one or more operating systems to run on a single system, even though each operating system (OS) is designed to have complete, direct control over the system and its resources. Virtualization is typically implemented by using software (e.g., a virtual machine monitor, or a “VMM”) to present to each OS a “virtual machine” (“VM”) having virtual resources, including one or more virtual processors, that the OS may completely and directly control, while the VMM maintains a system environment for implementing virtualization policies such as sharing and/or allocating the physical resources among the VMs (the “virtualization environment”). Each OS, and any other software, that runs on a VM is referred to as a “guest” or as “guest software,” while a “host” or “host software” is software, such as a VMM, that runs outside of, and may or may not be aware of, the virtualization environment.
The virtualization technologies have wide applications in the computer field with the development of computer systems. For example, such virtualization technologies can be used to implement a virtual desktop application which runs within a virtual machine and can be accessed from a client over a network, such as, for example, SolidICE™ available from Qumranet, Inc. of Israel, a subsidiary of Red Hat, Inc. of Raleigh, N.C.
Typically, when a management server fails to communicate with a host over a network, it is assumed that the host is still up and running. The reason that a host cannot be “seen” is either there is a network problem or a problem within the host. If it is a host's problem, the host may need to be shut down, for example, to release network resources that it might still be using. There has been a lack of efficient ways for a management server to determine whether there is a network problem or a problem within a host when the management server fails to communicate with the host.